6. Un Front Controller al rescate
La solución es utilizar un Front Controller: un único fichero PHP a través del cual TODAS las peticiones son procesadas. Con un Front Controller, las URIs para la aplicación ligeramente pero empiezan a ser más flexibles:
Hay que tener en cuenta que la parte de la URI "index.php" se puede eliminar mediante reglas de apache (a modificar en el .htaccess).
Al usar un Front Controller, en este caso index.php, todas las peticiones las gestionará dicho fichero PHP, por lo que por ejemplo una petición del estilo /index.php/show ejecutara realmente el fichero index.php, el cual se encargará de redirigir la petición internamente. Como se verá a continuación un Front Controller es una herramienta muy potente.
Creando el Front Controller
Con un único fichero gestionando todas las peticiones, se pueden centralizar cosas tan importantes como la seguridad, configuración y redirecciones.
Primero, debemos asegurar que todas las peticiones pasen por nuestro Front Controller, index.php. Para ello, añadimos un fichero ".htaccess" a la raiz de nuestro sitio web (abrir bloc de notas, guardar como, seleccionar opción "todos los archivos", .htaccess), con el siguiente contenido:
Modifiquemos ahora el index.php para "convertirlo" en un Front Controller: